The present invention relates to the field of computer graphics, and in particular to methods and apparatus for assigning attribute values to surfaces of computer graphics models. Many computer graphic images are created by mathematically modeling the interaction of light with a three dimensional scene from a given viewpoint. This process, called rendering, generates a two-dimensional image of the scene from the given viewpoint, and is analogous to taking a photograph of a real-world scene. Animated sequences can be created by rendering a sequence of images of a scene as the scene is gradually changed over time. A great deal of effort has been devoted to making realistic looking rendered images and animations.
Color plays an important part in the aesthetics and emotional impact of images. Artists often design scenes with bright, vibrant colors. Later during the production, lighting designers add virtual lights to the scene to create highlights and shadows. Many computer graphics system use a simple additive illumination models. When surfaces are darkened due to shadowing using additive illumination models, the colors tend to become grey or muddy. This is because darkening colors is essentially the same as mixing black with the selected color.
In the real world, physical imagery does not suffer from these muddy colors in dark areas because of more complex, secondary light transport terms like irradiance and low level sub-surface scatter as well as aggressive use of exposure or tone curves to bring colors into the perceptually linear space.
To produce more vibrant or realistic colors in images, it is desirable to compensate for this desaturation effect. One prior approach uses tone mapping to adjust the “exposure” of the image. This changes the way that colors are mapped from light to dark. Although this corrects for desaturation in shadows and darkened areas, this tone mapping often adversely affects the contrast of the image.
Another prior approach uses colored shadows. Rather than darkening colors to black, colored shadows darken the shaded areas to a lighter color. The problem with colored shadows is that the color of the shadow is unrelated to the color of the shaded object. As a result, the shaded portions of the image look unnatural or stylized.
It is therefore desirable for a system and method to provide improved color saturation in shaded portions of an image without adversely affecting the overall image. It is also desirable for the system and method to provide users with precise control over the amount of saturation compensation applied to the image. It is also desirable for the system and method to allow for saturation compensation to be automatically applied during rendering or after rendering in post-production.